// import com.alibaba.druid.DbType;
// import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.SQLServerOutput;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.SQLServerStatement;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.SQLServerTop;
// import com.alibaba.druid.sql.dialect.sqlserver.visitor.SQLServerASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../../ast/statement/SQLUpdateStatement.h"
#include "../SQLServerStatement.h"

class SQLServerUpdateStatement : virtual public SQLUpdateStatement, virtual public SQLServerStatement
{
public:
  SQLServerTop_ptr top;
  SQLServerOutput_ptr output;

  SQLServerUpdateStatement();
  SHAREDOBJECT(SQLServerUpdateStatement);

  SQLServerTop_ptr getTop();

  void setTop(SQLServerTop_ptr top);

  SQLServerOutput_ptr getOutput();

  void setOutput(SQLServerOutput_ptr output);

  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  // @Override
  void accept0(SQLServerASTVisitor_ptr visitor);
};
